記憶功能上線!
讓 AI 雲端情人能記住你的話
前一天的 AI Bot 還只是單純的一問一答,如果每次聊天都像剛認識一樣,只會說「安安你好」,那就完全沒有「戀愛感」。
所以今天,我加入了 對話歷史(conversation memory),讓 AI 雲端情人能「記住」我說過的事。
⸻
🧠 記憶功能的設計
• 每個 user_id 都有一個 conversation_history
• 每次新訊息都 append 進歷史
• 保留最後 10 筆(避免 token 過多、增加成本)
• 傳給 LLM 時,整段歷史會一起送出
這樣的設計看似複雜,卻帶來關鍵意義:就像電影《雲端情人(Her)》裡的女友 AI 一樣,一台雲端伺服器可以同時服務很多人。
每個人加上這個 LINE AI Bot讓每一個使用者都能有專屬的互動情境。聊天內容互不干擾,AI 會延續個別對話脈絡,而不是每次都從「你好」開始。
這樣,AI 雲端情人就能接續上下文,維持一個「個性」與「連貫性」,不會每次都 reset。
⸻
💻 程式片段(Day 6:對話歷史)
conversation_history.setdefault(user_id, [])
conversation_history[user_id].append({"role": "user", "content": msg})
# 限制歷史長度,避免 token 過多
if len(conversation_history[user_id]) > MAX_HISTORY_LEN * 2:
conversation_history[user_id] = conversation_history[user_id][-MAX_HISTORY_LEN * 2:]
# 帶著歷史發送給 LLM
reply_text = await get_async_reply(conversation_history[user_id])
⸻
📈 時序圖(Day 6:有記憶的聊天)
⸻
🎯 成果
到這裡,我的 AI 女友已經從 「會講話」 進化到 「會記住我的事」。
這個小小的「記憶」功能,讓她開始像個真實的人一樣:會提到我們昨天聊過的內容,也不會每次都 reset。
⸻